Software Verification for Sensor Nodes

نویسنده

  • Doina Bucur
چکیده

We look at software written for wireless sensor nodes, and specialize and develop on the state of the art in software verification techniques for standard C programs (CBMC and SatAbs from the CProver suite) in order to locate programming errors in sensor applications before the software’s deployment on motes. Ensuring the reliability of sensor applications is an exemplary difficult problem for the validation and verification field: low-level, interrupt-driven or multithreaded code runs without memory protection in dynamic environments, and the difficulties lie with: 1. being able to automatically extract standard C models out of the particular flavours of embedded C used for one sensor programming solution or another, 2. decreasing the program’s state space to a degree that allows the resulting tool to be practically useful, and 3. writing specifications which capture non-trivial behaviour. This report describes two such approaches. One is a software verification tool for platform-independent, OS-dependent sensor programs: multithreaded TinyOS applications written over the C TOSThreads library. This approach of verifying one module at a time naturally decreases the program’s state space, such that—even as the application is multithreaded—safety specifications over fairly complex monitoring applications can be verified in under one hour’s time. In order to automatically extract a correct model out of the single TOSThreads module, we need to manually construct brief models of those OS driver modules called by the application. The resulting program is then passed to SatAbs [8], a software verifier for multithreaded ANSI C, with specifications (written as C assertions) pinpointing incorrect interface use and incorrect adaptation to environmental input. The other is a platform-dependent, OS-independent orthogonal approach: a software verification tool for large, OS-wide programs written in MSP430 embedded C with asynchronous hardware interrupts. Our tool automatically translates the program into standard C by replacing direct memory access with a model of the MCU’s memory map. A number of calls to hardware interrupt handlers are inserted into the main application to emulate the existence of hardware, and their occurrence is minimized with a partial-order reduction technique, in order to decrease the program’s state space. Safety specifications are written as C assertions embedded in the code. The resulting sequential program is then passed to CBMC [7], a bounded software verifier for sequential ANSI C. Besides memory-related errors (e.g., out-of-bounds arrays, null-pointer dereferences), this tool chain verifies application-specific assertions, including low-level assertions upon the state of the registers and peripherals. Verification for wireless sensor network applications is an emerging field of research. To the publication date of our tools [4, 5], little specialized work existed on the topic; we overview both background and subsequent work on the topic and draw a comparison.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Computing Laboratory ON SOFTWARE VERIFICATION FOR SENSOR NODES

We consider software written for networked, wireless sensor nodes, and specialize software verification techniques for standard C programs in order to locate programming errors in sensor applications before the software’s deployment on motes. Ensuring the reliability of sensor applications is challenging: low-level, interrupt-driven code runs without memory protection in dynamic environments. T...

متن کامل

NORM: A Decentralized Location Verification Mechanism for Wireless Sensor Networks

The location of wireless devices and sensor nodes is a critical input for many location-aware applications. Particularly, important tasks in tactical fields, such as monitoring the status of soldiers and tracking the equipments, all rely on the location information. However, adversaries may falsify the location information and undermine the activities supported by location. In this work, we pro...

متن کامل

Compositional Verification of Sensor Software Using Uppaal

Verification of wireless sensor networks has long been performed for communication protocols and for networklevel behavior over multiple nodes, but not for the basic properties that should hold at a single node. Testing sensor networks, however, is extremely hard due to the lack of controllability, and complex simulation setups are often too expensive to undertake. Thus, verification of propert...

متن کامل

A novel key management scheme for heterogeneous sensor networks based on the position of nodes

Wireless sensor networks (WSNs) have many applications in the areas of commercial, military and environmental requirements. Regarding the deployment of low cost sensor nodes with restricted energy resources, these networks face a lot of security challenges. A basic approach for preparing a secure wireless communication in WSNs, is to propose an efficient cryptographic key management protocol be...

متن کامل

On software verification for sensor nodes

We consider software written for networked, wireless sensor nodes, and specialize software verification techniques for standard C programs in order to locate programming errors in sensor applications before the software’s deployment on motes. Ensuring the reliability of sensor applications is challenging: lowlevel, interrupt-driven code runs without memory protection in dynamic environments. Th...

متن کامل

A multi-hop PSO based localization algorithm for wireless sensor networks

A sensor network consists of a large number of sensor nodes that are distributed in a large geographic environment to collect data. Localization is one of the key issues in wireless sensor network researches because it is important to determine the location of an event. On the other side, finding the location of a wireless sensor node by the Global Positioning System (GPS) is not appropriate du...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2010